Page({
    // 页面的初始数据
    data: {
        userInfo: null, // 用户信息
        showFeedbackModal: false, // 控制反馈模态框的显示
        showTutorialModal: false, // 控制教程模态框的显示
        feedbackForm: {
            name: '',
            email: '',
            message: ''
        }
    },

    // 生命周期函数--监听页面加载
    onLoad: function() {
        this.checkUserLogin(); // 检查用户登录状态
    },

    // 检查用户登录状态
    checkUserLogin: function() {
        const userInfo = wx.getStorageSync('userInfo');
        if (userInfo) {
            this.setData({ userInfo }); // 如果本地存储有用户信息，则更新到页面数据中
        }
    },

    // 处理用户登录
    handleUserLogin: function() {
        if (this.data.userInfo) return; // 如果已登录，直接返回

        wx.getUserProfile({
            desc: '用于完善会员资料', // 声明获取用户个人信息后的用途
            success: (res) => {
                const userInfo = res.userInfo;
                wx.setStorageSync('userInfo', userInfo); // 将用户信息保存到本地存储
                this.setData({ userInfo }); // 更新页面数据

                // 这里可以添加向后端发送用户信息的逻辑
                // this.sendUserInfoToServer(userInfo);
            },
            fail: (err) => {
                console.error('获取用户信息失败', err);
                wx.showToast({
                    title: '登录失败，请重试',
                    icon: 'none'
                });
            }
        });
    },

    // 导航到指定页面
    navigateTo: function(e) {
        const url = e.currentTarget.dataset.url;
        if (url === '/pages/aboutUs/aboutUs') {
            this.showTutorialInfo(); // 如果是用户教程，显示模态框
        } else {
            wx.navigateTo({ url: url }); // 导航到指定页面
        }
    },

    // 显示反馈信息模态框
    showFeedbackInfo: function() {
        this.setData({
            showFeedbackModal: true
        });
    },

    // 隐藏反馈信息模态框
    hideFeedbackModal: function() {
        this.setData({
            showFeedbackModal: false
        });
    },

    // 显示教程模态框
    showTutorialInfo: function() {
        this.setData({
            showTutorialModal: true
        });
    },

    // 隐藏教程模态框
    hideTutorialModal: function() {
        this.setData({
            showTutorialModal: false
        });
    },

    // 复制邮箱地址到剪贴板
    copyEmail: function() {
        wx.setClipboardData({
            data: '2372784315@qq.com',
            success: function(res) {
                wx.showToast({
                    title: '邮箱已复制',
                    icon: 'success',
                    duration: 2000
                });
            }
        });
    },

    // 复制教程网址到剪贴板
    copyTutorialUrl: function() {
        wx.setClipboardData({
            data: 'https://helen3433.github.io/intro/',
            success: function(res) {
                wx.showToast({
                    title: '网址已复制',
                    icon: 'success',
                    duration: 2000
                });
            }
        });
    },

    // 处理表单输入
    handleInput: function(e) {
        const { field } = e.currentTarget.dataset;
        const { value } = e.detail;
        this.setData({
            [`feedbackForm.${field}`]: value
        });
    },

    // 提交反馈
    submitFeedback: function() {
        const { name, email, message } = this.data.feedbackForm;

        // 表单验证
        if (!name.trim() || !email.trim() || !message.trim()) {
            wx.showToast({
                title: '请填写完整信息',
                icon: 'none'
            });
            return;
        }

        // 简单的邮箱格式验证
        const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
        if (!emailRegex.test(email)) {
            wx.showToast({
                title: '请输入有效的邮箱地址',
                icon: 'none'
            });
            return;
        }

        // 获取现有反馈数据
        let feedbacks = wx.getStorageSync('feedbacks') || [];

        // 添加新反馈
        feedbacks.push({
            id: Date.now(),
            name,
            email,
            message,
            createTime: new Date().toISOString()
        });

        // 保存到本地存储
        wx.setStorageSync('feedbacks', feedbacks);

        // 重置表单
        this.setData({
            feedbackForm: {
                name: '',
                email: '',
                message: ''
            },
            showFeedbackModal: false
        });

        wx.showToast({
            title: '反馈提交成功',
            icon: 'success'
        });
    }
});